package com.harvey.exampreparation.activity;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.harvey.exampreparation.R;

import java.util.ArrayList;
import java.util.List;

/**
 * ListView 实例
 *
 * 代码阅读顺序：
 *   res/layout/activity_list_view.xml
 *     -> activity/ListViewActivity（本类）
 */
public class ListViewActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);

        // 1. 通过 findViewById 获取到 ListView 的实例
        ListView listView = findViewById(R.id.list_color);

        // 2. 构造一个用于展示的 List 数据
        List<String> list = new ArrayList<>();
        list.add("Red");
        list.add("Yellow");
        list.add("Green");

        // 3. 创建一个数组适配器, 要传入的参数分别为 Context、布局、数据。
        //    Context 直接把本类传进去即可；
        //    布局这里使用 Android 自带的 simple_list_item_1；
        //    数据直接传入刚刚构造的 list。
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
                android.R.layout.simple_list_item_1, list);

        // 4. 将刚刚创建的适配器设置到 ListView 当中
        listView.setAdapter(adapter);
    }
}